import React, {PureComponent} from 'react';

class Parent extends PureComponent {

    state={
        car:'奔驰'
    }


    // 换车
    change=()=>{
        this.setState({
           car:'大众'
        })
    }

    // shouldComponentUpdate(nextProps, nextState, nextContext) {
    //     // console.log('state----',nextState,this.state)
    //     // console.log('props----',nextProps,this.props)
    //
    //
    //     // return this.state.car !== nextState.car;
    //     if(this.state.car===nextState.car){
    //         return false
    //     }
    //     else{
    //         return  true
    //     }
    //
    // }

    render() {
        const {car}=this.state
        console.log('parent')

        return (
            <div>
                <h1>我是父组件</h1>
                <h3>我的车是:{car}</h3>
                <button onClick={this.change}>换车</button>
                <hr/>
                <Child car={car}></Child>
            </div>
        );
    }
}

class Child extends PureComponent {



    // shouldComponentUpdate(nextProps, nextState, nextContext) {
    //     console.log('props----',nextProps,this.props)
    //     if(nextProps.car===this.props.car){
    //         return false
    //     }
    //     else {
    //         return true
    //     }
    //     return true
    // }

    render() {
        console.log('child')
        const {car}=this.props
        return (
            <div>
                 <h1>我是子组件</h1>
                <h3>父组件传过来的车是:{car}</h3>
            </div>
        );
    }
}

export default Parent;